

const fs = require('fs');
const Promise = require('./promise')
function readFile(fileUrl){
    return new Promise((resolve,reject)=>{
        // fs.readFile(fileUrl,'utf8',function(err,data){
        //     if(err){
        //         return reject(err)
        //     }
        //     resolve(data)
        // })
        resolve('OK')
    })
}
// then方法中的回调 onFulfilled  onRejected 返回值可以传递到外层的下一次then中
// 1) 如果返回的内容是普通值（不是promise，不是throw Error） 都会走下一次的成功
// 2) 如果onFulfilled  onRejected 在执行过程中出错了，会走下一次then的失败
// 3） 返回的是一个promise，那就将这个promise的结果解析出来来决定是成功还是失败 
const p2 = readFile('./fileUrl.txt').then((value)=>{
    
     return readFile(value)
},err=>{
    return 200
})

// 说promise.then是异步是不对的，而是then中的回调会异步执行

p2.then((value)=>{
    console.log('s',value)
},err=>{
    console.log('f',err)
})

// 只有返回的是一个失败的promise 或者出错了 才会走失败~



// fs.readFile('./fileUrl.txt','utf8',function(err,data){
   
// })

// fs.readFile(data,'utf8',function(err,data){
//     console.log(data)
// })
